home *** CD-ROM | disk | FTP | other *** search
/ Shareware Super Platinum 8 / Shareware Super Platinum 8.iso / mac / DATABASE / S9303.ZIP;1 / SPENCE.ZIP / ABTEST1.PRG < prev    next >
Encoding:
Text File  |  1993-01-06  |  1.8 KB  |  85 lines

  1. // Abtest1.prg
  2. //
  3. // Test routine to exercise simulated array browse class
  4.  
  5. #include "Abrowser.ch"
  6. #include "Directry.ch"
  7. #include "InKey.ch"
  8.  
  9. // Default column separator
  10. #define DEF_CSEP  " " + chr(179) + " "
  11.  
  12. // Default heading separator
  13. #define DEF_HSEP chr(205) + chr(209) + chr(205)
  14.  
  15. // Default footing separator
  16. #define DEF_FSEP chr(205) + chr(207) + chr(205)
  17.  
  18.  
  19. FUNCTION Abtest1
  20.  
  21. LOCAL oTbr   := ABrowseNew()
  22. LOCAL aFiles := Directory("*.dbf")
  23. LOCAL lExitRequested := .F.
  24. LOCAL nKey
  25. LOCAL oTbc
  26. LOCAL i
  27.  
  28.   IF Len(aFiles) < 1
  29.     Alert("No matching files")
  30.     QUIT
  31.   ENDIF
  32.  
  33.   oTbr:arrayReference := aFiles
  34.   oTbr:colSep  := DEF_CSEP
  35.   oTbr:headSep := DEF_HSEP
  36.   oTbr:footSep := DEF_FSEP
  37.  
  38.   oTbr:nTop    := 1
  39.   oTbr:nLeft   := 1
  40.   oTbr:nBottom := MaxRow() - 1
  41.   oTbr:nRight  := 29
  42.  
  43.   CLEAR SCREEN
  44.   @ 0, 0 TO MaxRow(), 30
  45.  
  46.   oTbc := TBColumnNew("File Name", ;
  47.                       {|| oTbr:arrayReference[oTbr:arrayIndex, F_NAME] })
  48.   oTbc:width := 12
  49.   oTbr:addColumn(oTbc)
  50.  
  51.   oTbc := TBColumnNew("File Size", ;
  52.                       {|| oTbr:arrayReference[oTbr:arrayIndex, F_SIZE] })
  53.   oTbr:addColumn(oTbc)
  54.  
  55.   oTbc := TBColumnNew("File Date", ;
  56.                       {|| oTbr:arrayReference[oTbr:arrayIndex, F_DATE] })
  57.   oTbr:addColumn(oTbc)
  58.  
  59.   oTbc := TBColumnNew("File Time", ;
  60.                       {|| oTbr:arrayReference[oTbr:arrayIndex, F_TIME] })
  61.   oTbr:addColumn(oTbc)
  62.  
  63.   ? seconds()
  64.   FOR i := 1 To 1000
  65.     StdMeth(oTbr, K_UP)
  66.   NEXT
  67.   ? Seconds()
  68.   QUIT
  69.  
  70.   DO WHILE !lExitRequested
  71.     DO WHILE !oTbr:stabilize()
  72.     ENDDO
  73.     nKey := InKey(0)
  74.     IF !StdMeth(oTbr, nKey)
  75.       // Handle exceptions
  76.       DO CASE
  77.         CASE nKey == K_ESC
  78.           lExitRequested := .T.
  79.       ENDCASE
  80.     ENDIF
  81.  
  82.   ENDDO
  83.  
  84. RETURN NIL
  85.